#!/bin/bash

app_name=fox-edge-server-$1


#查找进程ID
pids=`ps -ef | grep $app_name | grep -v 'grep' | awk '{print $2}'`
for pid in $pids
do	
    # 1.用top命令取线程进程的线程状态：top -H -p $pid 
	# 2.只需要top命令的第1屏数据： -b -n 1
	# 3.将内容输出给awk，取第8行数据
	# 4.将内容输出给awk，取出第1个字段：awk '{print $1}'
	threadId=`top -H -p $pid -b -n 1 | awk 'NR==8' | awk '{print $1}'`
	
	# 转化为16进制格式
	hexId=`printf "%x\n" $threadId`
	
	# 使用jstack打印堆栈
	jstack $pid | grep $hexId -A90
done


